From 4c92fb2b5dda6db8c78fc7da0a81722ceda92dbd Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 16 May 2011 22:35:21 +0200 Subject: [PATCH] styleproperties: Speed up style_property_lookup() Use the already existing bsearch version instead of iterating the array manually. --- gtk/gtkstyleproperties.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c index 2bb8f5a6d5..b1adea1874 100644 --- a/gtk/gtkstyleproperties.c +++ b/gtk/gtkstyleproperties.c @@ -490,7 +490,6 @@ gtk_style_properties_lookup_property (const gchar *property_name, GtkStylePropertiesClass *klass; gboolean found = FALSE; GQuark quark; - gint i; g_return_val_if_fail (property_name != NULL, FALSE); @@ -503,23 +502,17 @@ gtk_style_properties_lookup_property (const gchar *property_name, return FALSE; } - for (i = 0; i < properties->len; i++) - { - node = &g_array_index (properties, PropertyNode, i); + node = property_node_lookup (quark); - if (node->property_quark == quark) - { - if (pspec) - *pspec = node->pspec; + if (node) + { + if (pspec) + *pspec = node->pspec; - if (parse_func) - *parse_func = node->parse_func; + if (parse_func) + *parse_func = node->parse_func; - found = TRUE; - break; - } - else if (node->property_quark > quark) - break; + found = TRUE; } g_type_class_unref (klass); -- 2.30.2